All courses
EMB 215
Term 4
4 credits
Real-Time Operating Systems
This course provides an in-depth exploration of Real-Time Operating Systems (RTOS) and their critical role in embedded systems engineering. Students will learn core RTOS concepts, including task scheduling, inter-process communication, and synchronization mechanisms, with a strong emphasis on practical application. Through hands-on labs, students will gain experience implementing and debugging RTOS-based solutions for real-world embedded challenges.
Prerequisites
Course outline
Lectures, virtual labs, and graded assignments — completed in your browser.
01Introduction to Embedded Systems and RTOS Conceptslecture
02RTOS Architecture and Kernel Serviceslecture
03Task Management and Scheduling Algorithmslecture
04Lab 1: Getting Started with an RTOS (Task Creation and Switching)lab
05Inter-Task Communication: Queues and Message Passinglecture
06Synchronization Primitives: Semaphores and Mutexeslecture
07Lab 2: Implementing IPC and Synchronizationlab
08Assignment 1: Designing a Multi-Tasking Systemassignment
09Timers and Delays in RTOSlecture
10Interrupts and Exception Handling in RTOSlecture
11Memory Management and Resource Sharinglecture
12Lab 3: RTOS Integration with Peripherals and Interruptslab
13Comprehensive Midterm Reviewlecture
14Final Reviewlecture
Syllabus
### Course Description This course provides an in-depth exploration of Real-Time Operating Systems (RTOS) and their critical role in embedded systems engineering. Students will learn core RTOS concepts, including task scheduling, inter-process communication, and synchronization mechanisms, with a strong emphasis on practical application. Through hands-on labs, students will gain experience implementing and debugging RTOS-based solutions for real-world embedded challenges. ### Learning Outcomes Upon successful completion of this course, students will be able to: * Understand the core concepts of Real-Time Operating Systems (RTOS) and their distinction from general-purpose operating systems. * Analyze and apply various RTOS scheduling algorithms, inter-process communication (IPC) mechanisms, and synchronization primitives. * Implement and debug multi-tasking embedded applications using an RTOS on a target microcontroller platform. * Evaluate RTOS features and select an appropriate RTOS for specific embedded system requirements. * Develop solutions for common RTOS challenges, including resource management, deadlocks, and priority inversions. ### Assessment Breakdown * Labs/Practical Assignments: 40% * Quizzes/Homework: 20% * Midterm Exam: 20% * Final Project: 20% ### Policies * **Attendance:** Regular attendance is expected. Students are responsible for all material covered regardless of attendance. * **Late Work:** Late assignments may incur a penalty of 10% per day unless prior arrangements are made with the instructor due to extenuating circumstances. * **Academic Integrity:** All work submitted must be original. Plagiarism or cheating will result in a failing grade for the assignment and may lead to further disciplinary action. * **Disability Services:** Students with disabilities requiring accommodations should contact the college's Disability Services office and the instructor at the beginning of the semester.